<script>
/*
  1
  转换秒数成为带格式的时间
    要求时间格式 时:分:秒
    不足两位的补0，比如1小时0分10秒：01:00:10
*/

function formatTime(second) {

}

console.log(formatTime(3610)) // 01:00:10


/*
  2
  描述
  完成下面的函数使这段代码可以正常运行
*/

function speak(fn, obj) {

}

console.log(speak(
  function () {
    console.log(this.greeting + ', ' + this.name + '!!!');
  },
  {greeting: 'Hello', name: 'Rebecca'}
)) // 打印 Hello, Rebecca!!!

/*
  3
  完成函数 createModule，调用之后满足如下要求：
  1、返回一个对象
  2、对象的 greeting 属性值等于 str1， name 属性值等于 str2
  3、对象存在一个 sayIt 方法，该方法返回的字符串为 greeting属性值 + ', ' + name属性值
  */
  function createModule(str1, str2) {

  }
  createModule('你好', '张三').sayIt()

/*
  4
  描述
  在数组 arr 中，查找值与 item 相等的元素出现的所有位置
*/
function findAllOccurrences(arr, target) {
  // 可以尝试用reduce完成

}
// test：
findAllOccurrences(['a','b','c','d','e','f','a','b','c'], 'a')
// [0, 6]


/*
  5
  描述
  找出数组 arr 中重复出现过的元素（不用考虑返回顺序）
*/
function duplicates(arr) {
  // 可以尝试用reduce完成
}
// test：
duplicates([1, 2, 4, 4, 3, 3, 1, 5, 3])
// [1, 3, 4]

</script>